「繼承」仍是物件導向中非常重要的一環(已經不知道說過幾遍很重要了,但事實是他們真的都很重要),繼承可以保有原先的功能並加以拓展,不必再重複寫原先相同的部分,根據已有的類別衍生出一新的類別。
java中父類別可衍生出一個以上的子類別,可是每個子類別只能有一個父類別,意即單一繼承(single inheritance),繼承後子類別能有限的讀取父類別存取的成員。需要注意一下能讀取的和不能的
1.可以繼承的成員:沒宣告public或private的成員、public成員、protected成員
2.不能繼承的:父類別的構造函數、設定終止繼承的成員
前面有提到父類別的建構子是不能直接繼承的,因為如果父類別中有數個建構子,我們需要特定的方法呼叫特定的建構子,這個就是得透過super()來呼叫,若父類別的構造函數有引數的話,super()指令中也得加。
子類可以覆寫父類的方法,但需要在子類中使用 @Override 註解來表明這是方法覆寫。如果不使用 @Override,覆寫的意圖可能不清楚。
覆寫與多載(Overload)不同。覆寫要求方法完全一致,而多載則是允許相同方法名但不同參數列表的多個方法並存。這點在子類覆寫方法時,必須注意與多載的區別。
多載(overloading):相同類別內,定義名稱相同,但引數個數或型別不同的函數,java便可依據引數的個數或型別,呼叫相對應的函數。
覆寫(overriding):在子類別中,定義名稱、引數個數與傳回值的型別均與父類別相同的函數,用以改寫父類別裡函數的功用
今天學習到這裡,明天會學習陣列與Arraylist。